package access;//: access/IceCream.java
// Demonstrates "private" keyword.
//default权限的类，一个编译单元可以有多个class，但是只能有一个public
class Sundae {
  //private权限构造器
  private Sundae() {}
  //返回实例
  static Sundae makeASundae() {
    return new Sundae();
  }
}

public class IceCream {
  public static void main(String[] args) {
    //直接new去调用构造器是编译错误的
    //! Sundae x = new Sundae();
    //通过MakeASundae()取得实例
    Sundae x = Sundae.makeASundae();
  }
} ///:~
